Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rustdoc: use a button instead of a bar for search #133279

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

notriddle
Copy link
Contributor

@notriddle notriddle commented Nov 21, 2024

r? @GuillaumeGomez

CC @lolbinarycat @liigo

This is an attempt to address three complaints:

  1. The header area takes up a lot of vertical space, and is generally quite "heavy" feeling.

    Fixes [rustdoc] issues of the three-big-buttons #132386

  2. Back and forward are kind of wacky, because there's no "single source of truth" for whether the search mode is open or not. Can't find an issue, but here's a screen recording where I reproduce it.

    screen-record-history-bug.mp4

    https://imgur.com/ZVnHv3o

  3. You can't see the crate picker list, or anything else that we might want to show you, until after you've already typed your search term. [rustdoc search] allow setting crates to search in before showing results #129537 (also notice the example searches, which exist in Hoogle and this tweak adds)

Preview page: https://notriddle.com/rustdoc-html-demo-15/search-button/std/index.html

Video:

screen-record.mp4

https://imgur.com/c37VxLb

Screenshot:

image

image

This is a response to complaints that the header area takes up
too much vertical space, forcing the user to scroll more than
they ought to need. It also adds a reasonable way to pick the
crate name before actually searching, which was also a feature
that people ask for.
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Nov 21, 2024
@rust-log-analyzer

This comment has been minimized.

@lolbinarycat
Copy link
Contributor

My immediate concern is how this will look on mobile, expecially with long crate names.

the status quo is already pretty bad.

Screenshot_20241121-005613

@GuillaumeGomez
Copy link
Member

I'm not too sure what to think about it. Turning the search input into a button (to make the search input appear) makes it more tricky to access the search feature.

Also, on mobile it's really not great as the space available is very little.

However I like a few things from this PR:

  1. When we focus on the search focus, we enter the "search page" which allows to give more information to the users.
    • However, on mobile we need a button to leave this "search page"
  2. I like the new layout of the search with the crates filter dropdown above the search input

@rust-log-analyzer

This comment has been minimized.

@notriddle
Copy link
Contributor Author

Turning the search input into a button (to make the search input appear) makes it more tricky to access the search feature.

A little bit, but it does have an explicit "Search" label, and the magnifying glass is very popular anyway.

Also, on mobile it's really not great as the space available is very little.

Here's one concept I came up with to try to claw back more space:
image

When we focus on the search focus, we enter the "search page" which allows to give more information to the users.

I don't want to make focus do that on its own, because it acts badly when tabbing through the page. A switch like that needs to be a button or link.

However, on mobile we need a button to leave this "search page"

The button I have now should act just like a normal link. To exit, use your browser's back button.

It's a very deliberate choice, to avoid bugs like I mentioned under bullet point 2: you should never be in the search page unless the ?search= URL parameter is on there, and the only way to get that URL parameter added is to click the button.

It happens to be implemented in JavaScript, but that should be invisible to the end-user. As far as the interaction model is concerned, that search button should be indistinguishable from an ordinary link. You can even right-click on it and open it in a new tab.

https://imgur.com/ZVnHv3o

@lolbinarycat
Copy link
Contributor

making things behave like links instead of magically doing stuff on hover is much better ux, that's the main reason I abandoned the old popover-on-hover PR.

@GuillaumeGomez
Copy link
Member

The whole mobile experience is big downgrade: the search button is small compared to the rest of the elements, and it's not necessarily obvious what we'll be search. The search input is doing a perfect job for this case.

For desktop, like I said I'm very shared. I like some improvements, but having to click on a button to have access to the search feature is (in my opinion) a big inconvenience. The search in the rust docs is a major feature and something we want to make as accessible as possible. Hiding it behind a button, even if it seems like a small inconvenience is actually (again, since in my opinion) a huge step back.

I don't want to make focus do that on its own, because it acts badly when tabbing through the page. A switch like that needs to be a button or link.

Fair enough. Maybe we could have some "down arrows" button appearing below the search input when focused which would switch to this view?

@lolbinarycat
Copy link
Contributor

Fair enough. Maybe we could have some "down arrows" button appearing below the search input when focused which would switch to this view?

I think anything conditional on focus is an anti-pattern (yes, I'm aware I was the one who suggested that idea in the first place, but after I implemented it, I realized just how annoying it was). Anyone trying to navigate via keyboard input will naturally want to focus that button before selecting it, which will be extremely confusing if it is only visible when a certain other element is focused.

How's this for an interesting compromise: a button that looks like a search bar

@GuillaumeGomez
Copy link
Member

Then what's the point into having a button and not just the input?

@lolbinarycat
Copy link
Contributor

the point is to have a single source of truth for "are we in search mode", and to allow other elements to only show up in search mode.

@GuillaumeGomez
Copy link
Member

Yes but when convenience is sacrificed in exchange of new context, it's not really an improvement.

@lolbinarycat
Copy link
Contributor

What convenience is sacrificed? clicking or tapping on the search button would immediately activate search mode, just like before.

@GuillaumeGomez
Copy link
Member

Except on mobile you need to go back to the previous history page to exit it. Also it adds an extra complexity in JS to handle this button we didn't need before.

@lolbinarycat
Copy link
Contributor

Except on mobile you need to go back to the previous history page to exit it.

trivially easy on andriod, i guess we could add an "exit search mode" button on mobile for the benefit of iOS users.

this is also only really a problem if you frequently start a search and then decide you actually don't want to do a search after all.

Also it adds an extra complexity in JS to handle this button we didn't need before.

the bulk of the extra "complexity" is actually just the logic for building the example queries (which is a feature that I was planning on implementing if noone else did) otherwise it's pretty close to neutral, mostly just stuff being moved around and lazily initialized.

@GuillaumeGomez
Copy link
Member

trivially easy on andriod, i guess we could add an "exit search mode" button on mobile for the benefit of iOS users.

This is not trivially easy. It completely breaks the browsing experience.

the bulk of the extra "complexity" is actually just the logic for building the example queries (which is a feature that I was planning on implementing if noone else did) otherwise it's pretty close to neutral, mostly just stuff being moved around and lazily initialized.

It remains new code added for benefits I'm still not sure to see.

@notriddle
Copy link
Contributor Author

notriddle commented Nov 22, 2024

the search button is small compared to the rest of the elements

Continuing the mobile concept of moving the settings and help buttons up into the top bar, the search and summary might have room for real labels?

image

image

image

The third screenshot is current nightly, meant to show how, even though we're line wrapping more, we're still coming out ahead for vertical screen real estate taken up in total.

and it's not necessarily obvious what we'll be search

How is that different from the current setup? The bar says "Press `s` or `/` to search, `?` for more options..." — what part of that phrase says anything about the scope of the search?

Maybe we could have some "down arrows" button appearing below the search input when focused which would switch to this view?

That would be a mystery meat icon, because its meaning is potentially ambiguous. Clicking on a down arrow next so a search field might do many different things:

  • It might list recently run searches.
  • It might list possible completions of the text that has already been entered.
  • It might lead to an "advanced search" page.

I've taken every opportunity I could find (without significant regressions anywhere else) to reduce and avoid icons without labels, for exactly that reason. They're never as clear as you think they are.

Except on mobile you need to go back to the previous history page to exit it. Also it adds an extra complexity in JS to handle this button we didn't need before.

I can add an explicit return to docs button for mobile users. It's already there, but I didn't think to label it.

image

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-tools failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
FFFFFFFFFF (130/134)
FFFF       (134/134)


/checkout/tests/rustdoc-gui/code-example-buttons.goml code-example-buttons... FAILED
[ERROR] `tests/rustdoc-gui/code-example-buttons.goml` line 8: Error: Node is either not clickable or not an Element: for command `move-cursor-to: ".search-input"`
/checkout/tests/rustdoc-gui/code-sidebar-toggle.goml code-sidebar-toggle... FAILED
/checkout/tests/rustdoc-gui/code-sidebar-toggle.goml code-sidebar-toggle... FAILED
[ERROR] `tests/rustdoc-gui/code-sidebar-toggle.goml` line 5: Error: Node is either not clickable or not an Element: for command `click: "#sidebar-button"`
/checkout/tests/rustdoc-gui/copy-code.goml copy-code... FAILED
/checkout/tests/rustdoc-gui/copy-code.goml copy-code... FAILED
[ERROR] `tests/rustdoc-gui/copy-code.goml` line 15
    from `tests/rustdoc-gui/copy-code.goml` line 26: Error: Node is either not clickable or not an Element: for command `move-cursor-to: ".search-input"`
/checkout/tests/rustdoc-gui/cursor.goml cursor... FAILED
/checkout/tests/rustdoc-gui/cursor.goml cursor... FAILED
[ERROR] `tests/rustdoc-gui/cursor.goml` line 15: Error: The CSS selector "#search-tabs" was not found: for command `wait-for: "#search-tabs"`

/checkout/tests/rustdoc-gui/escape-key.goml escape-key... FAILED
[ERROR] `tests/rustdoc-gui/escape-key.goml` line 8: Error: The CSS selector "#search h1" was not found: for command `wait-for: "#search h1"`

/checkout/tests/rustdoc-gui/globals.goml globals... FAILED
[ERROR] `tests/rustdoc-gui/globals.goml` line 15: Error: The CSS selector "#search-tabs" was not found: for command `wait-for: "#search-tabs"`

/checkout/tests/rustdoc-gui/help-page.goml help-page... FAILED
[ERROR] `tests/rustdoc-gui/help-page.goml` line 9: offsetWidth: `0` !== `740`: for command `compare-elements-property: (".sub", "#help", ["offsetWidth"])`
[ERROR] `tests/rustdoc-gui/help-page.goml` line 10: different X values: 0 != 245: for command `compare-elements-position: (".sub", "#help", ["x"])`
[ERROR] `tests/rustdoc-gui/help-page.goml` line 13: offsetWidth: `0` !== `470`: for command `compare-elements-property: (".sub", "#help", ["offsetWidth"])`
[ERROR] `tests/rustdoc-gui/help-page.goml` line 14: different X values: 0 != 15: for command `compare-elements-position: (".sub", "#help", ["x"])`
/checkout/tests/rustdoc-gui/item-info.goml item-info... FAILED
/checkout/tests/rustdoc-gui/item-info.goml item-info... FAILED
[ERROR] `tests/rustdoc-gui/item-info.goml` line 23: Condition `676 != 699 && 676 == 718 && 699 == 741` was evaluated as false: for command `assert: |first_line_y| != |second_line_y| && |first_line_y| == 718 && |second_line_y| == 741`
/checkout/tests/rustdoc-gui/notable-trait.goml notable-trait... FAILED
/checkout/tests/rustdoc-gui/notable-trait.goml notable-trait... FAILED
[ERROR] `tests/rustdoc-gui/notable-trait.goml` line 192: Error: Node is either not clickable or not an Element: for command `click: ".search-input"`
/checkout/tests/rustdoc-gui/scrape-examples-color.goml scrape-examples-color... FAILED
/checkout/tests/rustdoc-gui/scrape-examples-color.goml scrape-examples-color... FAILED
[ERROR] `tests/rustdoc-gui/scrape-examples-color.goml` line 30
    from `tests/rustdoc-gui/scrape-examples-color.goml` line 34: Error: Node is either not clickable or not an Element: for command `move-cursor-to: ".search-input"`

/checkout/tests/rustdoc-gui/scrape-examples-layout.goml scrape-examples-layout... FAILED
[ERROR] `tests/rustdoc-gui/scrape-examples-layout.goml` line 83: The following errors happened: [different Y values: 214 (or 214) != 256]: for command `assert-position: (".scraped-example", {"y": 256})`
[ERROR] `tests/rustdoc-gui/scrape-examples-layout.goml` line 84: The following errors happened: [different Y values: 218 (or 218) != 260]: for command `assert-position: (".scraped-example .prev", {"y": 256 + |offset_y|})`
[ERROR] `tests/rustdoc-gui/scrape-examples-layout.goml` line 93: The following errors happened: [different Y values: 249 (or 249) != 291]: for command `assert-position: (".scraped-example", {"y": 291})`
[ERROR] `tests/rustdoc-gui/scrape-examples-layout.goml` line 94: The following errors happened: [different Y values: 277 (or 277) != 319]: for command `assert-position: (".scraped-example .prev", {"y": 291 + |offset_y| + |title_height|})`
/checkout/tests/rustdoc-gui/scrape-examples-toggle.goml scrape-examples-toggle... FAILED
/checkout/tests/rustdoc-gui/scrape-examples-toggle.goml scrape-examples-toggle... FAILED
[ERROR] `tests/rustdoc-gui/scrape-examples-toggle.goml` line 28
    from `tests/rustdoc-gui/scrape-examples-toggle.goml` line 32: Error: Node is either not clickable or not an Element: for command `move-cursor-to: ".search-input"`
/checkout/tests/rustdoc-gui/search-corrections.goml search-corrections... FAILED
/checkout/tests/rustdoc-gui/search-corrections.goml search-corrections... FAILED
[ERROR] `tests/rustdoc-gui/search-corrections.goml` line 15: ".search-corrections" not found: for command `assert-css: (".search-corrections", {
    "display": "none"
})`
[ERROR] `tests/rustdoc-gui/search-corrections.goml` line 22: ".search-corrections" not found: for command `assert-css: (".search-corrections", {
    "display": "block"
})`
[ERROR] `tests/rustdoc-gui/search-corrections.goml` line 25: ".search-corrections" not found: for command `assert-text: (
    ".search-corrections",
    "Type \"NotableStructWithLongNamr\" not found. Showing results for closest type name \"notablestructwithlongname\" instead."
)`
[ERROR] `tests/rustdoc-gui/search-corrections.goml` line 33: ".search-corrections" not found: for command `assert-css: (".search-corrections", {
    "display": "block"
})`
[ERROR] `tests/rustdoc-gui/search-corrections.goml` line 36: ".search-corrections" not found: for command `assert-text: (
    ".search-corrections",
    "Type \"NotableStructWithLongNamr\" not found. Showing results for closest type name \"notablestructwithlongname\" instead."
)`
[ERROR] `tests/rustdoc-gui/search-corrections.goml` line 50: ".search-corrections" not found: for command `assert-css: (".search-corrections", {
    "display": "block"
})`
[ERROR] `tests/rustdoc-gui/search-corrections.goml` line 53: ".search-corrections" not found: for command `assert-text: (
    ".search-corrections",
    "Type \"NotableStructWithLongNamr\" not found. Showing results for closest type name \"notablestructwithlongname\" instead."
)`
[ERROR] `tests/rustdoc-gui/search-corrections.goml` line 84: ".search-corrections" not found: for command `assert-css: (".search-corrections", {
    "display": "block"
})`
[ERROR] `tests/rustdoc-gui/search-corrections.goml` line 87: ".search-corrections" not found: for command `assert-text: (
    ".search-corrections",
    "Type \"NotableStructWithLongNamr\" not found and used as generic parameter. Consider searching for \"notablestructwithlongname\" instead."
)`
[ERROR] `tests/rustdoc-gui/search-corrections.goml` line 100: ".error" not found: for command `assert-css: (".error", {
    "display": "block"
})`
[ERROR] `tests/rustdoc-gui/search-corrections.goml` line 103: ".error" not found: for command `assert-text: (
    ".error",
    "Query parser error: \"Generic type parameter NotableStructWithLongNamr does not accept generic parameters\"."

/checkout/tests/rustdoc-gui/search-filter.goml search-filter... FAILED
/checkout/tests/rustdoc-gui/search-filter.goml search-filter... FAILED
[ERROR] `tests/rustdoc-gui/search-filter.goml` line 35: Error: The following CSS properties still don't match: [expected `none` for key `display`, found `block`]: for command `wait-for-css: ("#main-content", {"display": "none"})`
/checkout/tests/rustdoc-gui/search-input-mobile.goml search-input-mobile... FAILED
/checkout/tests/rustdoc-gui/search-input-mobile.goml search-input-mobile... FAILED
[ERROR] `tests/rustdoc-gui/search-input-mobile.goml` line 7: Error: Node is either not clickable or not an Element: for command `click: "input.search-input"`

/checkout/tests/rustdoc-gui/search-keyboard.goml search-keyboard... FAILED
[ERROR] `tests/rustdoc-gui/search-keyboard.goml` line 8: Error: The CSS selector "#search-tabs" was not found: for command `wait-for: "#search-tabs"`
/checkout/tests/rustdoc-gui/search-reexport.goml search-reexport... FAILED
/checkout/tests/rustdoc-gui/search-reexport.goml search-reexport... FAILED
[ERROR] `tests/rustdoc-gui/search-reexport.goml` line 26: Error: The XPath "//a[@class='result-import']" was not found: for command `wait-for: "//a[@class='result-import']"`
/checkout/tests/rustdoc-gui/search-result-color.goml search-result-color... FAILED
/checkout/tests/rustdoc-gui/search-result-color.goml search-result-color... FAILED
[ERROR] `tests/rustdoc-gui/search-result-color.goml` line 226
    from `tests/rustdoc-gui/search-result-color.goml` line 231: ".result-name .path .alias" not found: for command `assert-css: (".result-name .path .alias", {"color": |alias|})`
[ERROR] `tests/rustdoc-gui/search-result-color.goml` line 227
    from `tests/rustdoc-gui/search-result-color.goml` line 231: ".result-name .path .alias > .grey" not found: for command `assert-css: (".result-name .path .alias > .grey", {"color": |grey|})`
[ERROR] `tests/rustdoc-gui/search-result-color.goml` line 226
    from `tests/rustdoc-gui/search-result-color.goml` line 236: ".result-name .path .alias" not found: for command `assert-css: (".result-name .path .alias", {"color": |alias|})`
[ERROR] `tests/rustdoc-gui/search-result-color.goml` line 227
    from `tests/rustdoc-gui/search-result-color.goml` line 236: ".result-name .path .alias > .grey" not found: for command `assert-css: (".result-name .path .alias > .grey", {"color": |grey|})`
[ERROR] `tests/rustdoc-gui/search-result-color.goml` line 226
    from `tests/rustdoc-gui/search-result-color.goml` line 241: ".result-name .path .alias" not found: for command `assert-css: (".result-name .path .alias", {"color": |alias|})`
[ERROR] `tests/rustdoc-gui/search-result-color.goml` line 227
    from `tests/rustdoc-gui/search-result-color.goml` line 241: ".result-name .path .alias > .grey" not found: for command `assert-css: (".result-name .path .alias > .grey", {"color": |grey|})`
/checkout/tests/rustdoc-gui/search-result-display.goml search-result-display... FAILED
/checkout/tests/rustdoc-gui/search-result-display.goml search-result-display... FAILED
[WARNING] `tests/rustdoc-gui/search-result-display.goml` line 37: Delta is 0 for "x", maybe try to use `compare-elements-position` instead?

[ERROR] `tests/rustdoc-gui/search-result-display.goml` line 54: ".search-results-title" not found: for command `store-size: (".search-results-title", {
    "height": search_results_title_height,
    "width": search_results_title_width,

/checkout/tests/rustdoc-gui/search-result-impl-disambiguation.goml search-result-impl-disambiguation... FAILED
/checkout/tests/rustdoc-gui/search-result-impl-disambiguation.goml search-result-impl-disambiguation... FAILED
[ERROR] `tests/rustdoc-gui/search-result-impl-disambiguation.goml` line 14: expected 1 elements, found 0: for command `assert-count: ("a.result-method", 1)`
[ERROR] `tests/rustdoc-gui/search-result-impl-disambiguation.goml` line 15: "a.result-method" not found: for command `assert-attribute: ("a.result-method", {
    "href": "../test_docs/struct.ZyxwvutMethodDisambiguation.html#impl-ZyxwvutMethodDisambiguation/method.method_impl_disambiguation"
})`
[ERROR] `tests/rustdoc-gui/search-result-impl-disambiguation.goml` line 18: "a.result-method" not found: for command `click: "a.result-method"`
/checkout/tests/rustdoc-gui/search-tab-change-title-fn-sig.goml search-tab-change-title-fn-sig... FAILED
/checkout/tests/rustdoc-gui/search-tab-change-title-fn-sig.goml search-tab-change-title-fn-sig... FAILED
[ERROR] `tests/rustdoc-gui/search-tab-change-title-fn-sig.goml` line 8: Error: The CSS selector "#search-tabs" was not found: for command `wait-for: "#search-tabs"`

/checkout/tests/rustdoc-gui/search-title.goml search-title... FAILED
[ERROR] `tests/rustdoc-gui/search-title.goml` line 13: The following errors happened: [expected `"test" Search - Rust` for document property `title`, found `"t" Search - Rust`]: for command `assert-document-property: {"title": '"test" Search - Rust'}`
/checkout/tests/rustdoc-gui/settings.goml settings... FAILED
/checkout/tests/rustdoc-gui/settings.goml settings... FAILED
[ERROR] `tests/rustdoc-gui/settings.goml` line 312: different X values: 0 != 245: for command `compare-elements-position: (".sub form", "#settings", ["x"])`
/checkout/tests/rustdoc-gui/sidebar-mobile.goml sidebar-mobile... FAILED
/checkout/tests/rustdoc-gui/sidebar-mobile.goml sidebar-mobile... FAILED
[ERROR] `tests/rustdoc-gui/sidebar-mobile.goml` line 21: The following errors happened (for selector `.sidebar`): [expected `-1000px` for key `left`, found `0px`]: for command `assert-css: (".sidebar", {"display": "block", "left": "-1000px"})`

/checkout/tests/rustdoc-gui/sidebar-resize-setting.goml sidebar-resize-setting... FAILED
[ERROR] `tests/rustdoc-gui/sidebar-resize-setting.goml` line 50: Error: Node is either not clickable or not an Element: for command `click: "#sidebar-button"`

/checkout/tests/rustdoc-gui/sidebar-source-code-display.goml sidebar-source-code-display... FAILED
[ERROR] `tests/rustdoc-gui/sidebar-source-code-display.goml` line 15: Error: Node is either not clickable or not an Element: for command `click: "#sidebar-button"`

/checkout/tests/rustdoc-gui/sidebar-source-code.goml sidebar-source-code... FAILED
[ERROR] `tests/rustdoc-gui/sidebar-source-code.goml` line 52: Error: Node is either not clickable or not an Element: for command `click: "#sidebar-button"`

/checkout/tests/rustdoc-gui/source-anchor-scroll.goml source-anchor-scroll... FAILED
[ERROR] `tests/rustdoc-gui/source-anchor-scroll.goml` line 11: The following errors happened (for selector `html`): [expected `208` for property `"scrollTop"`, found `179`]: for command `assert-property: ("html", {"scrollTop": "208"})`
[ERROR] `tests/rustdoc-gui/source-anchor-scroll.goml` line 13: The following errors happened (for selector `html`): [expected `239` for property `"scrollTop"`, found `210`]: for command `assert-property: ("html", {"scrollTop": "239"})`
[ERROR] `tests/rustdoc-gui/source-anchor-scroll.goml` line 15: The following errors happened (for selector `html`): [expected `136` for property `"scrollTop"`, found `107`]: for command `assert-property: ("html", {"scrollTop": "136"})`
[ERROR] `tests/rustdoc-gui/source-anchor-scroll.goml` line 20: The following errors happened (for selector `html`): [expected `136` for property `"scrollTop"`, found `107`]: for command `assert-property: ("html", {"scrollTop": "136"})`
/checkout/tests/rustdoc-gui/source-code-page.goml source-code-page... FAILED
/checkout/tests/rustdoc-gui/source-code-page.goml source-code-page... FAILED
[ERROR] `tests/rustdoc-gui/source-code-page.goml` line 92: The following errors happened: [different Y values: 143 (or 143) != 171]: for command `assert-position: ("//*[@id='1']", {"x": 88, "y": 171})`
[ERROR] `tests/rustdoc-gui/source-code-page.goml` line 100: Error: Node is either not clickable or not an Element: for command `click: "#sidebar-button"`
/checkout/tests/rustdoc-gui/toggle-docs-mobile.goml toggle-docs-mobile... FAILED
/checkout/tests/rustdoc-gui/toggle-docs-mobile.goml toggle-docs-mobile... FAILED
[ERROR] `tests/rustdoc-gui/toggle-docs-mobile.goml` line 7: The following errors happened (for selector `.top-doc`): [assert didn't fail for attribute `open` (``)]: for command `assert-attribute-false: (".top-doc", {"open": ""})`
[ERROR] `tests/rustdoc-gui/toggle-docs-mobile.goml` line 28: The following errors happened (for selector `.top-doc`): [assert didn't fail for attribute `open` (``)]: for command `assert-attribute-false: (".top-doc", {"open": ""})`
/checkout/tests/rustdoc-gui/toggle-docs.goml toggle-docs... FAILED
/checkout/tests/rustdoc-gui/toggle-docs.goml toggle-docs... FAILED
[ERROR] `tests/rustdoc-gui/toggle-docs.goml` line 67
    from `tests/rustdoc-gui/toggle-docs.goml` line 71: Error: Node is either not clickable or not an Element: for command `move-cursor-to: ".search-input"`
/checkout/tests/rustdoc-gui/type-declation-overflow.goml type-declation-overflow... FAILED
/checkout/tests/rustdoc-gui/type-declation-overflow.goml type-declation-overflow... FAILED
[ERROR] `tests/rustdoc-gui/type-declation-overflow.goml` line 58: comparison didn't fail: for command `compare-elements-position-near-false: (".main-heading h1", ".main-heading rustdoc-toolbar", {"x": 550})`
[ERROR] `tests/rustdoc-gui/type-declation-overflow.goml` line 61: comparison didn't fail: for command `compare-elements-position-near-false: (".main-heading h1", ".main-heading rustdoc-toolbar", {"x": 550})`
Error: ()
Build completed unsuccessfully in 0:15:32
  local time: Fri Nov 22 21:02:29 UTC 2024
  network time: Fri, 22 Nov 2024 21:02:29 GMT

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[rustdoc] issues of the three-big-buttons
5 participants